Code
library(tidyverse)
library(sf)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(viridisLite)
library(DT)
library(devtools)
library(ggplot2)
library(ggplotlyExtra)
library(plotly)
library(ggthemes)1- Introducción
2- Carga de Datos y Paquetes
3- Mapa de riqueza de especies de mamíferos en regiones socioeconómicas
4- Tabla de riqueza de especies de mamíferos en regiones socioeconómicas
5- Gráficos estadísticos
5.1- Gráfico de barras de riqueza de especies de mamíferos en regiones socioeconómicas
En primer lugar se utilizará información del Atlas de Costa Rica del año 2014, el cual posee capas actualizadas con datos originales, siendo datos que se incorporan de forma muy reciente, lo que hace que sean más precisas las capas. Además, quienes utilizan este tipo de infromación, tienen acceso libre a dicha base de datos. Se entiede que, este sistema ha creado un filtro de búsqueda para que sea más fácil la obtención de información de interés, ya sea cualquier tipo de capas de datos necesitada.
En otro aspecto, se hizo el uso de fuentes como un csv, que incluye infromación de distintos mamíferos encontrados en el país de Costa Rica, para lograr realizar diferentes análisis estadísticos. Con esto se alcanza a observar de una forma más exacta información sobre la biodiversidad, influyendo en el aprendendizaje de los mamíferos encontrados en este país.
Infromación obtenida de:
library(tidyverse)
library(sf)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(viridisLite)
library(DT)
library(devtools)
library(ggplot2)
library(ggplotlyExtra)
library(plotly)
library(ggthemes)regiones_socioeconómicas <-
st_read("regiones_socioeconomicas_simp_10m.geojson", quiet = TRUE
) |>
st_transform(4326)mamiferos <-
st_read(
"mamiferos.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude", # columna de longitud decimal
"Y_POSSIBLE_NAMES=decimalLatitude" # columna de latitud decimal
),
quiet = TRUE
)
# Asignación del CRS WGS84
st_crs(mamiferos) <- 4326mamiferos_union_regiones <-
st_join(
x = mamiferos,
y = dplyr::select(regiones_socioeconómicas, codigo),
join = st_within
)riqueza_especies_mamiferos_regiones <-
mamiferos_union_regiones |>
st_drop_geometry()|>
group_by(codigo) |>
summarize(riqueza_especies_mamiferos_regiones = n_distinct(species, na.rm = TRUE))regiones_union_riqueza <-
left_join(
x = regiones_socioeconómicas,
y = riqueza_especies_mamiferos_regiones,
by = "codigo"
) |>
replace_na(list(riqueza_especies_mamiferos_regiones = 0))colores_riqueza_especies <-
colorNumeric(
palette = "Reds",
domain = regiones_union_riqueza$riqueza_especies_mamiferos_regiones,
na.color = "transparent"
)
# Paleta de colores de especies
colores_especies <- colorFactor(
palette = viridis(length(unique(mamiferos$species))),
domain = mamiferos$species
)
# Mapa leaflet
leaflet() |>
setView(
lng = -84.19452,
lat = 9.572735,
zoom = 7) |>
addTiles(group = "Mapa general (OpenStreetMap)") |>
addProviderTiles(
providers$Esri.WorldImagery,
group = "Imágenes satelitales (ESRI World Imagery)"
) |>
addPolygons(
data = regiones_union_riqueza,
fillColor = ~ colores_riqueza_especies(regiones_union_riqueza$riqueza_especies_mamiferos_regiones),
fillOpacity = 0.8,
color = "black",
stroke = TRUE,
weight = 1.0,
popup = paste(
paste("<strong>Cantón:</strong>", regiones_union_riqueza$region),
paste("<strong>Riqueza de especies:</strong>", regiones_union_riqueza$riqueza_especies_mamiferos_regiones),
sep = '<br/>'
),
group = "Riqueza de especies"
) |>
addScaleBar(
position = "bottomleft",
options = scaleBarOptions(imperial = FALSE)
) |>
addLegend(
position = "bottomleft",
pal = colores_riqueza_especies,
values = regiones_union_riqueza$riqueza_especies_mamiferos_regiones,
group = "Riqueza de especies",
title = "Riqueza de especies"
) |>
addCircleMarkers(
data = mamiferos,
stroke = F,
radius = 4,
fillColor = ~colores_especies(mamiferos$species),
fillOpacity = 1.0,
popup = paste(
paste0("<strong>Especie: </strong>", mamiferos$species),
paste0("<strong>Localidad: </strong>", mamiferos$locality),
paste0("<strong>Fecha: </strong>", mamiferos$eventDate),
paste0("<strong>Fuente: </strong>", mamiferos$institutionCode),
paste0("<a href='", mamiferos$occurrenceID, "'>Más información</a>"),
sep = '<br/>'
)) |>
addLayersControl(
baseGroups = c(
"Mapa general (OpenStreetMap)",
"Imágenes satelitales (ESRI World Imagery)"
),
overlayGroups = c(
"Riqueza de especies"
)
)